class AnalyzeWebpackPlugin{
    apply(compiler){
        compiler.hooks.emit.tap("AnalyzeWebpackPlugin",(compilation)=>{
            // 获取即将输出的文件
            let assets = Object.entries(compilation.assets)

            let content = `| 文件名称 | 文件大小 |
| ------ | ------ |`
            assets.forEach(([fileName,file])=>{
                content += `\n|${fileName}|${Math.ceil(file.size()/1024)}kb|`
            })

            // 覆盖资源
            compilation.assets['analyze.md'] = {
                // 返回新的资源
                source(){
                    return content
                },
                // 返回新的大小
                size(){
                    return content.length
                }
            }
        })
    }
}
module.exports = AnalyzeWebpackPlugin
